Release 10.1A: OpenEdge Deployment:
Managing 4GL Applications


Building a customized executable on UNIX

This section contains instructions for building 4GL client or AppServer™ executables running under UNIX to access custom C functions. The OEBuild script is located in the oebuild/make directory under the root of your OpenEdge installation.

To build a UNIX 4GL client executable:

  1. Open a terminal and invoke a Bourne shell (/bin/sh) on the system where OpenEdge is installed.
  2. Change to user root.
  3. Run the PROENV utility to set the DLC variable. For example:
  4. >$DLC/bin/proenv 
    

  5. Optionally set and export the environment variable IMAGE to the full pathname of the executable to be generated. For example:
  6. proenv> IMAGE=/tmp/_myprogres
    proenv> export IMAGE 
    

    Note: By default, the custom client executable is named $DLC/oebuild/_progres if you are building the 4GL client (or WebSpeed agent) executable. It is $DLC/oebuild/_proapsv if you are building the AppServer agent executable.

  7. Make sure that the environment variable PATH contains the directory to the supported compiler and linker on your system.
  8. Unset all the library path variables for your operating system. The script will set these variables as required. For example, on HP-UX:
  9. proenv> unset SHLIB_PATH 
    

  10. Make a backup copy of the original OEBuild link options script and the 4GL tie-in object used to access custom C functions, hlprodsp.o. There are two versions of the OEBuild link options script, depending on the 4GL client executable you plan to build:
    • build_rx.sh — 4GL client (or WebSpeedŽ agent) executable.
    • build__proapsv.sh — AppServer agent executable.
    • For example, to copy the original 4GL client and 4GL tie-in object:

      proenv> cp $DLC/oebuild/make/build_rx.sh 
                 $DLC/oebuild/make/build_rx.sh.orig 
      proenv> cp $DLC/oebuild/obj/hlprodsp.o $DLC/oebuild/obj/hlprodsp.o.orig 
      

  11. Edit the C source file for the 4GL tie-in object in order to tie in your C functions to the 4GL as explained in the source file comments. This file is located at the following path:
  12. $DLC/oebuild/hlc/hlprodsp.c 
    

  13. Compile the new tie-in object. For example:
  14. proenv> cc -c -o $DLC/oebuild/hlc/hlprodsp.o $DLC/oebuild/hlc/hlprodsp.c 
    

  15. Set and export the environment variable HLC_OBJS to contain the paths of all objects that need to be included in your new OpenEdge executable, including the 4GL tie-in object you built in Step 9. For example:
  16. proenv> HLC_OBJS="/home/foo.o /home/foo1.o $DLC/oebuild/hlc/hlprodsp.o" 
    proenv> export HLC_OBJS 
    

  17. Run the OEBuild script located in $DLC/oebuild/make, with no arguments. There are two versions of the OEBuild script, depending on the 4GL client executable you plan to build:
    • build_rx.sh — 4GL character client (or WebSpeedŽ agent) executable.
    • build__proapsv.sh — AppServer agent executable.
    • For example, to build a customized character client:

      proenv> $DLC/oebuild/make/build_rx.sh 
      

      Note: If you do not set the IMAGE variable, as in Step 4, the client executable is built as $DLC/oebuild/_progres for the 4GL character client agent or $DLC/oebuild/_proapsv for the AppServer agent; otherwise, the executable is built as specified by $IMAGE.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095